					   ******************** (C) COPYRIGHT 2011 NXPSemiconductors *******************
 * @file    Abstract.txt 
 * @author  CT-PIM
 * @version 1.0
 * @date    
 * @brief   Description of the LPC17xx Speex Vocoder example for IAR Embedded Workbench
 *          using IAR LPC1768-SK board.
 ******************************************************************************
 * Software that is described herein is for illustrative purposes only
 * which provides customers with programming information regarding the
 * products. This software is supplied "AS IS" without any warranties.
 * NXP Semiconductors assumes no responsibility or liability for the
 * use of the software, conveys no license or title under any patent,
 * copyright, or mask work right to the product. NXP Semiconductors
 * reserves the right to make changes in the software without
 * notification. NXP Semiconductors also make no representation or
 * warranty that such application will be suitable for the specified
 * use without further testing or modification.
 ******************************************************************************
  
@Example description:
	Purpose:
		This example describes how to use the libspeex to encode voice, save the encoded audio 
                in RAM, and play a recorded voice by decoding the saved data.
	Process:
        
		A microphone should be plugged into MIC input, which is connect to a LPC1768 ADC input.
		In order to record a voice stream, TIMER0 is configured in such way that an interrupt is generated every 125us.
		So, within TIMER0 Interrupt handler a new sample is converted by ADC and stored into current IN_Buffer in a frequency of 8kHz.
		
		Everytime a IN_Buffer is completed (a frame, 160 samples), it is enabled for encoding. Then the encoded frame is 
		saved into RAM.
		
		There's a loop where speex decoder works during the playback process. Inside this loop a new speex frame is loaded, decoded,
                and stored in a OUT_Buffer, which is now available for output.
		For the audio output process, TIMER0 is configured in such way that an interrupt is generated every 125us. So, within TIMER0
		Interrupt handler a new sample from the last decoded audio frame is send to DAC, connected to HEADPHONE jack.
	Build and test enviroment:
		This application was built using IAR Embedded Workbench 5.50. 
                Hardware: IAR LPC1768-SK Rev.A.
                
@Directory contents:
	\: includes EWARM (IAR) project and configuration files
	
	lpc17xx_libcfg.h: Library configuration file - include needed driver library for this example 
	\src:	source codes, including main program (main.c)
	\inc:	program headers, including lpc17xx_libcfg.h -  Library configuration file - include needed driver library for this example 

@How to run:
	Hardware configuration:		
		This example was tested on:
			IAR LPC1768 KickStart vers.A
				These jumpers must be configured as following:
				- PWR_SEL: depend on power source
				- DBG_EN : ON
				- Remain jumpers: OFF
	
	Running mode:
		This example runs on ROM mode.
					
		Note: If want to burn hex file to board by using Flash Magic, these jumpers need
		to be connected:
			- IAR LPC1768 KickStart vers.A:
				+ RST_E: ON
				+ ISP_E: ON
	
	Step to run:
		- Step 1: Build example.
		- Step 2: Burn hex file into board (if run on ROM mode)
		- Step 3: Connect a microfone and a headphone to the board.
		- Step 4: Run example
				  *Voice record:
				  	- Press  BUT1:
				  		Say something into the microphone during 6 seconds.
				  *Voice playback:
				  	- Press  BUT2:
				  		You can the last recorded audio from headphone.
		
		
@Tip:
	- Open \LPC1700_Speex.eww project file to run example on IAR
